 #Bibloteca para a conexao com o banco de dados
import adodbapi

#Conexao com o banco de dados
constr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="banco\pyGB.mdb"'
db = adodbapi.connect(constr)
cursor  = db.cursor()



class bancocliente:

        def InsertCliente(self,nome,cpf,cidade,bairro,endereco,cep,telefone,categoria):
                cursor.execute('INSERT INTO cliente(nome,cpf,cidade,bairro,endereco,cep,telefone,categoria) VALUES ("'+nome+'", "'+cpf+'", "'+cidade+'", "'+bairro+'", "'+endereco+'", "'+cep+'", "'+telefone+'", "'+categoria+'" )')
                db.commit()

        def UpdateCliente(self,nome,cpf,cidade,bairro,endereco,cep,telefone,categoria):
                cursor.execute('UPDATE cliente SET nome="'+nome+'" ,cpf="'+cpf+'",cidade="'+cidade+'",bairro="'+bairro+'",endereco="'+endereco+'",cep="'+cep+'",telefone="'+telefone+'",categoria="'+categoria+'" WHERE cpf="'+cpf+'"')
                db.commit()


        def GetClientes(self):
                cursor.execute('SELECT * FROM cliente')
                return cursor.fetchall()

        def GetClientesPorNome(self,nome):
                cursor.execute('SELECT * from cliente where nome = "'+nome+'"')
                return cursor.fetchall()

        def GetClientesPorNomeLetra(self,nome):
                cursor.execute('SELECT * from cliente where  nome LIKE "%'+nome+'%"')
                return cursor.fetchall()


        def GetClientesPorCPF(self,cpf):
                cursor.execute('SELECT * from cliente where  cpf  = "'+cpf+'"')
                return cursor.fetchall()

        def GetClientesPorCPFNumero(self,cpf):
                cursor.execute('SELECT * from cliente where  cpf LIKE "%'+cpf+'%"')
                return cursor.fetchall()

        def DeleteClienteCPF(self,cpf):
                cursor.execute('DELETE * from cliente where cpf = "'+cpf+'"')
                db.commit()

class bancolivro:

        def InsertLivro(self,titulo,autor,assunto,area,editora,isbn):

            cursor.execute('INSERT INTO livro(titulo,autor,assunto,area,editora,isbn) VALUES ("'+titulo+'", "'+autor+'", "'+assunto+'", "'+area+'", "'+editora+'", "'+isbn+'")')
            db.commit()

        def UpdateLivro(self,codigo,titulo,autor,assunto,area,editora,isbn):
            cursor.execute('UPDATE livro SET titulo="'+titulo+'" ,autor="'+autor+'",assunto="'+assunto+'",area="'+area+'",editora="'+editora+'",isbn="'+isbn+'" WHERE codigo="'+codigo+'"')
            db.commit()

        def GetLivro(self):
            cursor.execute('SELECT * FROM livro')
            return cursor.fetchall()

        def GetLivroPorCodigo(self,codigo):
            cursor.execute('SELECT * from livro where codigo = '+codigo+'')
            return cursor.fetchall()

        def GetLivroPorTituloLetra(self,titulo):
            cursor.execute('SELECT * from livro where titulo LIKE "%'+titulo+'%"')
            return cursor.fetchall()

        def GetLivroPorCodigoNumero(self,codigo):
            cursor.execute('SELECT * from livro where codigo LIKE "%'+codigo+'%"')
            return cursor.fetchall()

        def GetLivroPorAreaLetra(self,area):
            cursor.execute('SELECT * from livro where Area LIKE "%'+area+'%"')
            return cursor.fetchall()

        def GetLivroPorAutorLetra(self,autor):
            cursor.execute('SELECT * from livro where autor LIKE "%'+autor+'%"')
            return cursor.fetchall()

        def DeleteLivroCodigo(self,codigo):
            cursor.execute('DELETE * from livro where codigo = '+codigo+'')
            db.commit()


class bancoadmin:
    def Getsenha(self):
        cursor.execute('SELECT * FROM senha')
        return cursor.fetchall()

    def UpdateSenha(self,senha):
         cursor.execute('UPDATE senha SET senha='+senha+'  WHERE codigo=1')
         db.commit()

    def GetCategorias(self):
        cursor.execute('SELECT * FROM categorias')
        return cursor.fetchall()

    def InsertCategorias(self,cat,dias,livros,reno):
        cursor.execute('INSERT INTO categorias(categoria,dias,livros,renovacoes) VALUES ("'+cat+'", "'+dias+'", "'+livros+'", "'+reno+'")')
        db.commit()

    def GetCategoria(self,cat):
        cursor.execute('SELECT * FROM categorias where categoria = "'+cat+'"')
        return cursor.fetchall()

    def UpdateCategoria(self,codigo,cat,dias,livros,reno):
        self.codigo = str(codigo)
        cursor.execute('UPDATE categorias SET dias="'+dias+'",livros="'+livros+'", renovacoes="'+reno+'"  WHERE categoria="'+cat+'"')
        db.commit()

    def DeleteCategoria(self,cat):
        cursor.execute('DELETE * from categorias where categoria = "'+cat+'"')
        db.commit()
        
    def GetAreas(self):
        cursor.execute('SELECT * FROM areas')
        return cursor.fetchall()
    
    def InsertAreas(self,area):
        cursor.execute('INSERT INTO areas(area) VALUES ("'+area+'")')
        db.commit()
        
    def GetArea(self,area):
        cursor.execute('SELECT * FROM areas where area = "'+area+'"')
        return cursor.fetchall()
    
    def UpdateArea(self,codigo,area):
        self.codigo = str(codigo)
        cursor.execute('UPDATE areas SET area="'+area+' WHERE area="'+area+'"')
        db.commit()
        
    def DeleteArea(self,areaa):
        cursor.execute('DELETE * from areas where area = "'+areaa+'"')
        db.commit()

class bancoemprestimo:
    def GetEmprestimo(self):
        cursor.execute('SELECT * FROM emprestimo')
        return cursor.fetchall()

    def InsertEmpretimo(self,cpf,codlivro,livro,datae,datad):
        cursor.execute('INSERT INTO emprestimo(cpf,codlivro,livro,dataemprestimo,datadevolucao) VALUES ("'+cpf+'", "'+codlivro+'", "'+livro+'", "'+datae+'", "'+datad+'")')
        db.commit()

    def DeleteEmprestimo(self,codlivro):
        cursor.execute('DELETE * from emprestimo where codemprestimo = '+codlivro+'')
        db.commit()

    def UpdateRenovacao(self,cod,codlivro,dias,diasd):
        print dias
        print cod
        cursor.execute('UPDATE emprestimo SET dataemprestimo="'+dias+'",datadevolucao="'+diasd+'" WHERE codemprestimo = '+cod+'')

        db.commit()




